﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ecommerce.Pagamento.CartaoCredito
{
    public class EAutorizacao
    {
        /// <summary>
        /// Valor total da compra
        /// </summary>
        public string Total { get; set; }

        /// <summary>
        /// Código tipo de transação
        /// 04 - À Vista
        /// 06 - Parcelado Emissor
        /// 08 - Parcelado Estabelecimento
        /// </summary>
        public string Transacao { get; set; }

        /// <summary>
        /// Número de parcelas
        /// Caso a transação seja 04, informar 00
        /// Caso a transação seja outra opção, informar as parcelas no formato "06", "08"
        /// </summary>
        public string Parcelas { get; set; }

        /// <summary>
        /// Número de filiação do estabelecimento fornecedor
        /// </summary>
        public string Filiacao { get; set; }

        /// <summary>
        /// Número do pedido gerado pelo estabelecimento
        /// </summary>
        public string NumeroPedidoEstabelecimento { get; set; }

        /// <summary>
        /// Número do cartão
        /// </summary>
        public string NumeroCartao { get; set; }

        /// <summary>
        /// Código de segurança do cartão
        /// </summary>
        public string CodigoSegurancaCartao { get; set; }

        /// <summary>
        /// Mês de validade do cartão
        /// </summary>
        public string ValidadeMes { get; set; }

        /// <summary>
        /// Ano de validade do cartão
        /// </summary>
        public string ValidadeAno { get; set; }

        /// <summary>
        /// Nome do portador do cartão (Como está no cartão)
        /// </summary>
        public string Portador { get; set; }

        /// <summary>
        /// Parametro interno, passar sempre null
        /// </summary>
        private string IATA
        {
            get
            {
                return null;
            }
        }

        /// <summary>
        /// Usado somente para B2B, passar sempre null
        /// </summary>
        private string Distribuidor
        {
            get
            {
                return null;
            }
        }

        /// <summary>
        /// Não se aplica ao varejo, passar sempre null
        /// </summary>
        private string Concentrador
        {
            get
            {
                return null;
            }
        }

        /// <summary>
        /// Não se aplica ao varejo, passar sempre null
        /// </summary>
        private string TaxaEmbarque
        {
            get
            {
                return null;
            }
        }

        /// <summary>
        /// Não se aplica ao varejo, passar sempre null
        /// </summary>
        private string Entrada
        {
            get
            {
                return null;
            }
        }

        /// <summary>
        /// Passar como null no momento de autenticação
        /// </summary>
        public string NUMDOC1 { get; set; }

        /// <summary>
        /// Passar como null no momento de autenticação
        /// </summary>
        public string NUMDOC2 { get; set; }

        /// <summary>
        /// Passar como null no momento de autenticação
        /// </summary>
        public string NUMDOC3 { get; set; }

        /// <summary>
        /// Passar como null no momento de autenticação
        /// </summary>
        public string NUMDOC4 { get; set; }

        /// <summary>
        /// Passar como null no momento de autenticação
        /// </summary>
        public string PAX1 { get; set; }

        /// <summary>
        /// Passar como null no momento de autenticação
        /// </summary>
        public string PAX2 { get; set; }

        /// <summary>
        /// Passar como null no momento de autenticação
        /// </summary>
        public string PAX3 { get; set; }

        /// <summary>
        /// Passar como null no momento de autenticação
        /// </summary>
        public string PAX4 { get; set; }

        /// <summary>
        /// Ao enviar este parâmetro preenchido com o valor “S”, a operação “ConfirmTxn” será acionada automaticamente.
        /// Não será utilizado com S, pois a redecard não garante que a proxima operação será executada
        /// </summary>
        private string CONFTXN
        {
            get
            {
                return null;
            }
        }

        /// <summary>
        /// O parâmetro ADD_DATA deverá conter as informações complementares ds transações dos cartões empresariais. Este parâmetro somente deverá ser enviado para estabelecimentos do ramo de Cias Áereas, Hotéis e Locadora de Veículos.
        /// </summary>
        private string ADD_DATA
        {
            get
            {
                return null;
            }
        }
    }
}